1. Field of the Invention
The present invention is directed to a method for identifying and initializing devices that are connected to a communication system for data exchange with each other and with a data processing means.
2. Description of the Prior Art
In order to enable the data exchange between various devices, which may be devices of different manufacturers as well, and a data processing means that, for example, form a workstation with one another, for example a medical workstation, it is known to employ a communication system to which the devices and the data processing means are connected. The communication system represents an interface between the devices as well as between the devices and the data processing means and, dependent on its hardware configuration, i.e., for example, the number of its data and control lines, the system has a characteristic communication protocol that is employed for data transmission between the devices, or between the devices and the data processing means. Various communication systems with specific communication protocols have been developed for various technical fields of application.
Every device connected to a communication system usually has an identifier referred to as a node number allocated to it, this also being referred to as a xe2x80x9cnode IDxe2x80x9d, so that data or information that are provided for this device can be unambiguously (uniquely) allocated to the device by the communication system and thus can be transmitted thereto. A fixed allocation of the node numbers to the respective devices exists and this can be accomplished by hardware or software switches of the communication system. A type of fixed allocation list thus exists which defines the node number for each device.
For the connection of a further device to the communication system it has proven disadvantageous that an intervention, for example of a system administrator, is required to allocate a new node number to this further device. Only after a new node number has been assigned by the system administrator can the device be accepted into the operation of the communication system with a hardware or software switch of the communication system.
Given such an assigning of node numbers to devices by a person, there is also the risk that two devices will inadvertently receive the same node number, and thus data and information could be misrouted. For example, control commands that are only provided for one specific device could also be communicated unintentionally to another device, which may cause damage to the device or other equipment. Such an error would be especially critical in the medical field if misrouted control commands unintentionally trigger actions of a treatment or examination device that jeopardize the health of patients and/or personnel. An example would be the unintended triggering of the emission of X-rays by an X-ray source.
A method for the management of network addresses in a field bus system is described, for example, in xe2x80x9cDer Feldbus in der Maschinen-und Anlagentechnikxe2x80x9d, W. Borst, Franzis Verlag GmbH and Co. KG, Munich 1992, ISBN 3-77234621-9, pages 55-58. This field bus system has a network management and field devices that must be incorporated into the field bus system after the start-up in order to be able to communicate via the field bus system. The network management implements an addressing of a device with a device name (test location designation), this device name having been programmed in the field device and entered in the network management, and subsequently replaces the device name with a network address. The network management, however, can only involve field devices in the operation of the field bus system about which it has been informed by an appropriate input procedure, again requiring the intervention of a system administrator.
U.S. Pat. No. 5,150,464 discloses a method for the introduction of a device connected to a communication system into the operation of the communication system. The communication system has local area networks (LANs) and token ring networks, and the communication between the networks ensues via devices known as routers. In the method disclosed in U.S. Pat. No. 5,150,464, in order for a device, which is a part of one of the networks, to be accepted into the communication system, the device itself generates network addresses according to a random principle and transmits these addresses until it has generated a valid network address. At this point, it no longer receives an answerback from another device of the network in which the device in question is operated, or from a router connected to the network, indicating that the last-generated network address is already being used.
An object of the present invention is to provide a method of the type initially described wherein intervention of a person (human intervention) is avoided when assigning a node number to the device, and wherein a unique allocation of a node number to a device is nevertheless assured.
This object is inventively achieved in a method for identifying and initializing devices that are connected to a communication system for data exchange with one another and with a data processing means, having the following steps. A logon signal comprising a node number and an identification identifier is transmitted from every device connected to the communication system to the data processing means. The node number of each and every device is checked with the data processing means for uniqueness. Given a non-unique node number of one of the devices, an unambiguous node number for that device is defined with the data processing means on the basis of the identification identifier of the device. An answerback of the node number to the devices is produced by the data processing means. An acknowledgment of the node numbers to the data processing means is given by the devices. The devices are introduced into the operation of the communication system.
Inventively, thus, there are no fixed allocations of node numbers to individual devices on the part of the data processing means, which monitors and controls the identification and initialization of devices. On the contrary, the allocation of the node numbers to the devices ensues variably by the data processing means itself and without intervention of a person, with the definition of a new, unique node number for a device ensues with the data processing means given a non-unique node number of the device. It is assured that two devices do not inadvertently receive the same node number, thereby preventing the misrouting of information. Moreover, a security inquiry assures that a device is accepted into the operation of the communication system only when the device has confirmed the node number for the data processing means.
In an embodiment of the invention the communication system is CANOPEN, which can be obtained as so-called freeware, and that, due to its high operating stability, is especially suited for critical areas of employment, for example in the medical field wherein the health of patients and personnel must be protected.
In a version of the invention the communication between the devices and the data processing means is based on standard services of the communication system. A xe2x80x9cstandard servicexe2x80x9d is a communication signal that is defined for the communication system and with which information can be communicated. As a result, no new services of the communication system have to be defined for the inventive method for identifying and initializing devices connected to the communication system. In the case of CANOPEN, in a version of the invention suited therefor, a so-called emergency signal is employed as the logon signal for the devices and a so-called SDO (service data object) signal is employed as the communication signal for the data processing means.
According to another embodiment of the invention, the identifier of the logon signal contains encoded information. Therefore, no extensive dataset of information about the device, for example the serial number and the manufacturer""s name of the device, has to be transmitted by the data processing means for the identification of a device, but only an encoded message, which is usually abbreviated with respect to the scope of the data and allows the identification of the device. According to one version of the invention, an ASCII string comprising, for example, the serial number and the manufacturer""s name, is allocated to each device for identification, this being converted into a number with a HASH function of the programming language C, with at least some of the digits of the number forming the identifier of the device. With a HASH function that, for example, can be taken in various forms from libraries of the programming language C, thus, an ASCII string, i.e. a character string composed, for example, of alphanumerical characters, can be converted into a number that can serve as the identifier of the device. For example, the least significant four digits of the number can form the identifier of the device in the case of CANOPEN, so that the identifier advantageously has only a small data content. The HASH function preferably converts the ASCII string into a hexadecimal number that is transmitted to the data processing means in the logon signal together with the node number of the respective device.
In another version of the invention the transmission of the logon signal ensues cyclically from every device connected to the communication system to the data processing means. The cyclical transmission of the logon signal assures that the data processing means in fact registers the logon attempt of a device and accepts the logon.
In another embodiment of the invention, in the extremely improbable case that two devices transmit a logon signal with the same node number and the same identifier, the data processing means checks on the basis of the cyclical occurrence of logon signals whether a number of devices with identical logon signals are present and, if so, requests that the corresponding devices change their identification identifier. The corresponding devices thereby again apply the HASH function to their ASCII string with the variation of one variable. As a result, a new identification identifier is then present, which the corresponding devices retransmit to the data processing means in the logon signal. It is thus assured that, given logon signals of a number of devices with the same node number, each such device is modified to exhibit a unique identifier.
In a further version of the invention, the data processing means provides a range of node numbers respectively for devices of substantially the same type. When, for example, a number of devices of the same type log on at the data processing means with the same node number, the data processing means defines a new node number for each of the devices, these node numbers of the devices being unique and within the provided range for the respective device type. The provision of a range of node numbers for a device type is advantageous because it allows an immediate determination to be made as to how devices of a particular type are connected to the communication system given an query of node numbers.
The data processing means can be a microcontroller arranged on a PC plug card and the devices can be medical devices of a medical workstation. The inventive method is thus advantageously suited for the medical field of application that is critical in view of safety aspects for patients and personnel.